package org.icop.virtdoc;

import java.util.Collection;

/**
 * Generic interface for all types of virtual documents.
 *
 */
public interface VirtualDoc {
	
	/**
	 * @return a list of all terms of the document
	 */
	public Collection<String> getAllTerms();

	/**
	 * @return the number of occurrences of the term in the document
	 */
	public int getCountOfTerm(String term);

	/**
	 * 
	 * @return the maximum number of occurrence over all terms in the document
	 */
	public int getMaxTermOccurrence();
	
	/**
	 * Get the doc specific weight for a certain term.
	 * That depends on the number of occurrences in the doc as well as
	 * the weights of certain doc parts (label, description, etc.).
	 * 
	 * @param term
	 * @return the doc specific weight for the term
	 */
	public float getTermWeightInDoc(String term);

	
	

}
